Many telecom-oriented services are being considered for deployment within the confines of data-centers. These services have a large compute bias and lax latency requirements. Current data-centric deployments involve a large number of machines on the order of hundreds of thousands in both virtual as well as non-virtual environments.
A Distributed Resource Scheduler (DRS) is a technology that is used to optimize computing resources to align with business needs and priorities. The DRS can operate in a manual mode or an automatic mode. In an automatic mode the DRS determines the best possible distribution of virtual machines, taking into account the business policies, and relocates the virtual machines to the appropriate physical servers. In a manual mode the DRS makes recommendations that align with business policies. The DRS runs in the context of a virtual center (vCenter) and assists the resource allocation function.
A Vscheduler is another framework for managing processor resources. Its local and global resource configuration framework allows virtual machines (VMs) to be balanced for processing resources locally and globally across a cluster. The Vscheduler uses a centralized manager node that receives input from VMAgents in VMs and PMAgents in physical nodes.
The Memory Balancer (MEMB) dynamically monitors the memory usage of each VM in a virtual environment, predicts the memory needs of each VM based on swap space usage and a least recently used (LRU) histogram to track physical addresses, and periodically reallocates host memory to the VMs needing more memory resources.
Frameworks such as the ones mentioned above provide a centralized mechanism to optimize the cluster/host resources like CPU, Memory, Storage, and Power across a plurality of machines.
These aforementioned frameworks provide tools to optimize the host and cluster wide resources like CPU and memory. Given the importance of connectivity in a data center there is a dearth of frameworks that optimize the performance of a network or a connection fabric.
Application performance metrics like the number of open sockets and the working set size for example, require the cooperation of the Guest Operating System (OS), running in the guest domain (Domain U) on top of which the application is running.
What is needed, therefore, is a framework for exporting application configuration and performance information for performance monitoring in virtualized and non-virtualized environments.